package com.flyduck.vueshop.system.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.flyduck.vueshop.system.admin.vo.*;

import java.util.List;

/**
 * <p>
 * SysUserService
 * </p>
 *
 * @author flyduck
 * @since 2024-06-03
 */
public interface AdminUserService {
    Page<AdminUserRespVO> getUserPage(Page page, AdminUserQueryReqVO adminUserQueryReqVO);

    AdminUserDetailsRespVO getUserDetailsById(Long id);

    void saveUser(AdminUserSaveReqVO adminUserSaveReqVO);

    void updateUser(AdminUserUpdateReqVO adminUserUpdateReqVO);

    void batchDeleteByIds(List<Long> ids);

    void assignRolesToUser(Long userId, List<Long> roleIds);

    void resetPasswordById(Long userId);
}
